import {fileURLToPath, URL} from 'node:url'

import {defineConfig} from 'vite'
import vue from '@vitejs/plugin-vue'

// https://vitejs.dev/config/

export default defineConfig({
    plugins: [vue()],
    resolve: {
        alias: {
            '@': fileURLToPath(new URL('./src', import.meta.url))
        }
    },
    //配置服务和代理
    server: {
        //配置本地端口
        port: 8000,
        //配置代理信息
        proxy: {
            //配置请求映射路径：凡是以/api开头的请求都使用下面的配置信息
            '/api': {
                //配置目标服务器地址
                target: 'http://localhost:9000',
                //允许跨域
                changeOrigin: true,
                //url重写
                rewrite: (path) => path.replace(/^\/api/, '')
            },
            '/abc':{
                target:'https://echarts.apache.org',
                //允许跨域
                changeOrigin:true,
                /*
                url重写 作用：去掉请求前面的/api 字符串
                rewrite 叫做请求url重写，配置代理之后客户端像服务器发送请求（地址：目标服务器+映射地址http://localhost:8080/api/user/login）
                代理服务器最终请求的地址为：http://localhost:8080/user/login
                 */
                rewrite: (path) => path.replace(/^\/abc/, '')
            }
        }

    }
})

//rewite 叫做请求url重写：配置代理之后客户端向服务器发送请求
//（地址：目标服务器——映射路径http://localhost:8088/api/user/login）
//代理服务器最终请求的地址为http://localhost:8088
